home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 301-325 / disk_319 / cnewssrc / cnews.orig.lzh / misc / addgroup next >
Text File  |  1989-06-27  |  960b  |  51 lines

  1. #! /bin/sh
  2. # addgroup - add a newsgroup, locally only
  3.  
  4. # =()<. ${NEWSCONFIG-@<NEWSCONFIG>@}>()=
  5. . ${NEWSCONFIG-/usr/lib/news/bin/config}
  6.  
  7. PATH=$NEWSCTL/bin:$NEWSBIN/maint:$NEWSBIN:$NEWSPATH ; export PATH
  8. umask $NEWSUMASK
  9.  
  10. usage="Usage: $0 groupname {y|n|m|x|=realgroup}"
  11.  
  12. case $# in
  13. 2)    ;;
  14. *)    echo "$usage" >&2 ; exit 2    ;;
  15. esac
  16.  
  17. case "$1" in
  18. */*)    echo "$usage" >&2 ; exit 2    ;;
  19. esac
  20.  
  21. case "$2" in
  22. [ynmx])    ;;
  23. =*/*)    echo "$usage" >&2 ; exit 2    ;;
  24. =*)    ;;
  25. *)    echo "$usage" >&2 ; exit 2    ;;
  26. esac
  27.  
  28. already="`sed 's/[     ].*//' $NEWSCTL/active | fgrep -x \"$1\"`"
  29. if test " $already" != " "
  30. then
  31.     echo "$0: $1 appears to exist already: \`$already'" >&2
  32.     exit 1
  33. fi
  34.  
  35. lock="$NEWSCTL/LOCK"
  36. ltemp="$NEWSCTL/L.$$"
  37. echo $$ >$ltemp
  38. trap "rm -f $ltemp ; exit 0" 0 1 2 15
  39. while true
  40. do
  41.     if newslock $ltemp $lock
  42.     then
  43.         trap "rm -f $ltemp $lock ; exit 0" 0 1 2 15
  44.         break
  45.     fi
  46.     echo 'news system locked, waiting...'
  47.     sleep 5
  48. done
  49.  
  50. echo "$1 0000000000 0000000000 $2" >>$NEWSCTL/active
  51.